Cloud computing is a new way of utilizing resources on Internet and performs on-demand computation for users depending on heterogeneous and autonomous services on Internet.
The existing desktop cloud is also a type of cloud in the definition of cloud computing. The desktop cloud separates a desktop environment of a user terminal (that is, a user application interface) from a physical machine by using a cloud computing mode, so as to become a service that can provide the user application interface for outsiders. Computing and storage resources required by the user application interface environment are gathered on a central server, to replace local computing and storage resources of a terminal. The computing and storage resources on the central server are also shared and scalable, so that different user application interface environment resources are allocated and delivered on demand, so as to achieve objectives of improving a resource utilization rate and reducing the total cost of ownership.
A thin client (TC for short) is a most common device that accesses the desktop cloud, which generally is a device that is embedded with an independent embedded operating system and can be connected over various protocols to a virtual machine running on a server. FIG. 1 shows a schematic diagram of a user accessing a desktop cloud system by using a personal computer (PC for short) or a TC in the prior art. In the desktop cloud system, a cloud server is virtualized into multiple virtual machines, which are also known as network computers (NC for short), and an application required by the user runs inside a certain NC. The user is connected to the cloud server through a browser on the PC or the TC, and the cloud server allocates one NC to the user according to a scheduling policy of the cloud server. One virtualized desktop infrastructure (VDI for short) channel is established between the TC/PC and the NC, and used to transfer a user application interface inside the NC to the TC/PC for display, and also transfer data input by the user on the TC/PC side to the NC by using a device such as a mouse and a keyboard. The application, data and the like required by the user are all stored in the NC, and the TC/PC is only equivalent to a “display” of the NC.
Further, to meet a requirement of video and audio communication between users, a deployment solution of the prior art is specifically as follows: During audio communication, when an audio stream sent by a peer party of the communication reaches an NC, the NC first decodes the received audio stream into original audio data, then compresses the original audio data into VDI data, and transfers the VDI data to a TC/PC through a VDI channel, and the TC/PC decompresses the VDI data to obtain the original audio data and then presents the original audio data to a user. During video communication, after a video stream reaches an NC, the NC first decodes the video stream, performs layout and rendering in a video window of the NC, and then presents a whole user application interface on a TC/PC through a VDI channel When the TC/PC obtains a local media stream, the TC/PC transfers the media stream obtained by a microphone and a camera to the NC through the VDI channel, and the NC decompresses VDI data to obtain the media stream, encodes the media stream, and then transfers the encoded media stream to the peer party of the communication.
Therefore, the solution for transmitting a media stream in the prior art reveals the following defects: 1) The NC needs to perform conversion and transmission on media data, and the conversion and transmission process causes obvious delay of the media stream; and 2) The media data needs to be transferred between the TC/PC and the NC through the VDI channel, which increases bandwidth occupancy between the TC/PC and the NC, and causes bandwidth waste.